From: Keir Fraser Date: Tue, 2 Oct 2007 08:56:53 +0000 (+0100) Subject: Fix external-device-migrate infinite loop. X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~14929^2~9 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/success//%22http:/www.example.com/cgi/success/?a=commitdiff_plain;h=36f49d79ffbd913a0eb0cc93079b56e0a9b8fa7f;p=xen.git Fix external-device-migrate infinite loop. For some (yet) unknown reason extern-device-migrate is called twice, once with a missing domname argument. The following invocation loops forever: external-device-migrate -domname because "shift 2" never shifts ($# < 2) and $# is always 1. From: Pascal Bouchareine Signed-off-by: Keir Fraser --- diff --git a/tools/examples/external-device-migrate b/tools/examples/external-device-migrate index c7c99afec3..a4113483a8 100644 --- a/tools/examples/external-device-migrate +++ b/tools/examples/external-device-migrate @@ -16,6 +16,7 @@ # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # +set -x # This script is called by XenD for migration of external devices # It does not handle the migration of those devices itself, but @@ -57,11 +58,11 @@ function evaluate_params() stype="" while [ $# -ge 1 ]; do case "$1" in - -step) step=$2; shift 2;; - -host) host=$2; shift 2;; - -domname) domname=$2; shift 2;; - -type) typ=$2; shift 2;; - -subtype) stype=$2; shift 2;; + -step) step=$2; shift; shift;; + -host) host=$2; shift; shift;; + -domname) domname=$2; shift; shift;; + -type) typ=$2; shift; shift;; + -subtype) stype=$2; shift; shift;; -recover) recover=1; shift;; -help) ext_dev_migrate_usage; exit 0;; *) break;;